Kod polimorficzny – kod, który zmienia się w czasie, nie zmieniając oryginalnego algorytmu w nim zawartego.
Przeważnie kod polimorficzny jest używany przez wszelkiego rodzaju wirusy i robaki komputerowe. Wynika to z samego działania programów antywirusowych, które szukają zainfekowanych plików poprzez znajdowanie w nich znanych łańcuchów. Wprowadzając modyfikacje kodu w każdej nowej kopii wirusa, znacznie komplikuje się zadanie programów antywirusowych.
Do uzyskania kodu polimorficznego przeważnie używa się szyfrowania kodu. Rzeczywisty kod programu jest zaszyfrowany i za każdym uruchomieniem programu deszyfrowany. Kod deszyfrujący nie może być zaszyfrowany, ponieważ byłby on bezużyteczny („nieuruchamialny”). Właśnie deszyfrujący fragment kodu jest używany przez programy antywirusowe do stwierdzenia, czy program jest „podejrzany”. Aby zmylić programy antywirusowe programiści próbują „zaciemnić” kod deszyfrujący.
Do pomocy w generowaniu zmian w kodzie deszyfrującym używa się następujących prostych akcji:
Dodatkowo modyfikacji ulec może również zaszyfrowany kod programu. Podczas replikacji program może użyć nowego klucza do zaszyfrowania własnego kodu.
© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search